package com.aorise.service.migration;

import com.aorise.model.migration.*;
import com.aorise.utils.page.Page;

import java.util.List;
import java.util.Map;

/**
 * @Author:cat
 * @Desicription: 迁建记录接口服务类
 * @Date:Created in 2019-06-01
 * @Modified By:
 */
public interface MigrationService {

    /**
     * @Author:cat
     * @Description 分页查询迁建记录信息
     * @params: map 查询条件
     * @params: page 分页
     * @Date:2019-06-03
     * @Return: List<MigrationModel> 迁建记录信息集合
     * @Modified By:
     */
    List<MigrationModel> getAllMigrationListByPage(Map<String, Object> map, Page page);

    /**
     * @Author:cat
     * @Description 根据ID查询迁建记录详情
     * @params: id 主键ID
     * @params: userId 登录人ID
     * @Date:2019-06-03
     * @Return: MigrationModel 迁建记录信息
     * @Modified By:
     */
    MigrationModel getMigrationById(Integer id,Integer userId);

    /**
     * @Author:cat
     * @Description 新增迁建记录信息
     * @params: migrationAddVO 迁建记录信息
     * @Date:2019-05-23
     * @Return: Integer 主键
     * @Modified By:
     */
    Integer addMigration(MigrationAddVO migrationAddVO);

    /**
     * @Author:cat
     * @Description 删除迁建记录信息
     * @params: map 查询条件Map
     * @Date:2019-06-03
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer deleteMigration(Map<String, Object> map);

    /**
     * @Author:cat
     * @Description 查询迁建记录未读消息总数
     * @params: map 查询条件
     * @Date:2019-06-03
     * @Return: Long 数据总条数
     * @Modified By:
     */
    Long getMigrationIsNotRead(Map<String, Object> map);
}
